package com.huadao.cart_ccs.experiment.paramsSetting;

import com.huadao.cart_ccs.base.BasePresenter;
import com.huadao.cart_ccs.base.BaseView;
import com.huadao.cart_ccs.data.bo.CO2BO;
import com.huadao.cart_ccs.data.bo.O2BO;
import com.huadao.cart_ccs.data.bo.TemperatureBO;

public interface SetParamsContract {
    interface ISetParamsView extends BaseView {
        //        void onSetCO2(CO2BO co2BO);
//        void onSetO2(O2BO o2BO);
//        void onSetTemperature(TemperatureBO temperatureBO);
        int getInputSpeed();

        byte getInputDirection();

        int getCirclatingSpeed();

        byte getCirclatingDirection();

        int getWasteSpeed();

        byte getWasteDirection();

        int getReclaimSpeed();

        byte getReclaimDirection();

        int getStrrierSpeed();

        int getCultureSpeed();

        double getCO2();

        double getO2();

        double getTemperature();

        void onSetCO2Succ(CO2BO event);
        void onSetCO2Failed(CO2BO event);
        void onSetO2Succ(O2BO event);
        void onSetO2Failed(O2BO event);
        void onSetTemperatureSucc(TemperatureBO event);
        void onSetTemperatureFailed(TemperatureBO event);

        void onSetEnvironmentSucc();
        void onSaveDeviceParamsSucc();

        int getChangeAirFrequency();
        int getChangeAirAmount();

        int getShakeTableTime();
    }

    abstract class ISetParamsPresenter extends BasePresenter<ISetParamsView> {
        //        abstract void setCO2(float CO2);
//        abstract void setO2(float O2);
//        abstract void setTemperature(float temperature);
        abstract double getDefaultO2();

        abstract double getDefaultCO2();

        abstract double getDefaultTemperature();

        abstract void saveDeviceParams();

        abstract void setEnvironment();

    }
}
